home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************/
- /* */
- /* Source - Nothing.c */
- /* Author - Alexander S. Colwell, Copyright © 1990 */
- /* */
- /* Purpose - This is a simple external area that does nothing, but */
- /* allows to peek inside the 4th Dimension operations of a */
- /* external area. */
- /* */
- /* Notes - None. */
- /* */
- /* Revision - None. */
- /* */
- /************************************************************************/
-
- #include "::4thDefs.h" /* 4th External area defs */
- #include "::Debugger:Debugger.h"/* Debugger Window defs */
- #include "SetupA4.h" /* Setup Register A4 defs */
-
- pascal void main(areaEvent,areaRect,areaName,areaHdl)
-
- EventRecord *areaEvent; /* Area event pointer */
- Rect *areaRect; /* Rect area pointer */
- char *areaName; /* Area name Pascal string pointer */
- Handle *areaHdl; /* Area data handle */
-
- {
-
- char *msg; /* Working message string */
- Str255 msgNbr; /* Working message number */
- short output = TRUE; /* Working output debugging */
- WindowPtr wPtr; /* Working window pointer */
-
- RememberA0(); /* Save register A0 for A4 */
- SetUpA4(); /* Setup register A4 */
-
- GetPort(&wPtr); /* Get window pointer */
-
- switch(areaEvent->what) {/* Process event command */
-
- case nullEvent: /* Null event */
- msg = "Null"; output = FALSE; break;
-
- case initEvt: /* Init event */
- msg = "Initialization"; break;
-
- case deInitEvt: /* Close event */
- msg = "Dispose"; break;
-
- case cursorEvt: /* Cursor event */
- msg = "Cursor"; output = FALSE; break;
-
- case selectReq: /* Selection request event */
- areaEvent->message = 101;
- msg = "Selection"; break;
-
- case scrollEvt: /* Scroll event */
- msg = "Scroll"; break;
-
- case drawReq: /* Draw request event */
- areaEvent->message = 102;
- msg = "Draw";
- PaintRect(areaRect);
- break;
-
- case activNote: /* Activate note event */
- msg = "ActivateNote"; break;
-
- case deActivNote: /* Deactivate note event */
- msg = "DeactivateNote"; break;
-
- case updateEvt: /* Update external area */
- msg = "Update";
- PaintRect(areaRect);
- break;
-
- case mouseDown: /* Mouse down in external area */
- msg = "Mouse Down"; break;
-
- case keyDown: /* Key down event */
- msg = "Key Down"; break;
-
- case autoKey: /* Auto-key down event */
- msg = "Auto Key"; break;
-
- case 40: /* After ActivNote event */
- case 41: /* After DeactivNote event */
- case 43: /* ActivNote idle event */
- output = FALSE; break;
-
- default: /* Some other event */
- NumToString((long)(areaEvent->what),msgNbr);
- msgNbr[msgNbr[0]+1] = 0;
- msg = (char *)(&msgNbr[1]);
- }
-
- if (output) { /* Check if should output it */
- DbgPrint(DbgGetRefHdl(),
- "Event Type - %s, modifiers - %x, where - %d, %d\n",
- msg,areaEvent->modifiers,areaEvent->where.h,
- areaEvent->where.v);
- /*
- DbgPrint(DbgGetRefHdl(),
- "Area: left - %d, top - %d, right - %d, bottom - %d\n",
- areaRect->left,areaRect->top,areaRect->right,areaRect->bottom);
- DbgPrint(DbgGetRefHdl(),
- "Origin: left - %d, top - %d\n",wPtr->portRect.left,
- wPtr->portRect.top);
- DbgPrint(DbgGetRefHdl(),
- "GrafPtr: %lx, %lx\n",wPtr,areaEvent->message);
- */
- }
-
- RestoreA4(); /* Restore register A4 */
-
- }
-
-